Runtime Template Instantiation for C++
نویسنده
چکیده
Performance, genericity and flexibility are three valuable qualities for scientific environments that tend to be antagonistic. C++ provides excellent support for both performances and genericity thanks to its support for (class and function) templates. However, a C++ templated library can hardly be qualified as flexible: data of unexpected types cannot enter the system, which hinders user interactions. This paper describes the approach that was taken in the Vcsn platform to add flexibility on top of C++ templates, including runtime template instantiation.
منابع مشابه
Enhancing DEVS simulation through template metaprogramming: DEVS-MetaSimulator
For several years, the DEVS community has been developing many tools for simulating DEVS models, ranging from local and sequential simulation to massively distributed and parallel simulation. In this paper, we present an innovative approach to local DEVS simulation. By using template metaprogramming, we developed the DEVS-MetaSimulator (DEVS-MS); instead of proposing one simulator meant to be u...
متن کاملAutomatic Template Instantiation in DIGITAL C++
Vol. 10 No. 1 1998 The template facility within the C++ language allows the user to provide a template for a class or function and then apply specific arguments to the template to specify a type or function. The process of applying arguments to a template, referred to as template instantiation, causes specific code to be generated to implement the functions and static data members of the instan...
متن کاملAbstracting the template instantiation relation in C++
ing the Template Instantiation Relation in C++ Andrew Sutton, Ryan Holeman, Jonathan I. Maletic Department of Computer Science Kent State University Kent Ohio 44242 {asutton, rholeman, jmaletic}@cs.kent.edu
متن کاملStatic interfaces in C++
We present an extensible framework for defining and using “static interfaces” in C++. Static interfaces are especially useful as constraints on template parameters. That is, in addition to the usual template , template definitions can specify that T “isa” Foo, for some static interface named Foo. These “isa-constraints” can be based on either inheritance (named conformance: T publicly ...
متن کاملLifting CDCL to Template-Based Abstract Domains for Program Verification
The success of Conflict Driven Clause Learning (CDCL) for Boolean satisfiability has inspired adoption in other domains. We present a novel lifting of CDCL to program analysis called Abstract Conflict Driven Learning for Programs (ACDLP). ACDLP alternates between model search, which performs over-approximate deduction with constraint propagation, and conflict analysis, which performs under-appr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1611.00947 شماره
صفحات -
تاریخ انتشار 2016